// 给你一个字符串 s，它由数字（'0' - '9'）和 '#' 组成。我们希望按下述规则将 s 映射为一些小写英文字符：
//     字符（'a' - 'i'）分别用（'1' - '9'）表示。
//     字符（'j' - 'z'）分别用（'10#' - '26#'）表示。 

// 返回映射之后形成的新字符串。
// 题目数据保证映射始终唯一。

// 示例 1：
// 输入：s = "10#11#12"
// 输出："jkab"
// 解释："j" -> "10#" , "k" -> "11#" , "a" -> "1" , "b" -> "2".

// 示例 2：
// 输入：s = "1326#"
// 输出："acz"

// 示例 3：
// 输入：s = "25#"
// 输出："y"

// 示例 4：
// 输入：s = "12345678910#11#12#13#14#15#16#17#18#19#20#21#22#23#24#25#26#"
// 输出："abcdefghijklmnopqrstuvwxyz"

// 提示：
//     1 <= s.length <= 1000
//     s[i] 只包含数字（'0'-'9'）和 '#' 字符。
//     s 是映射始终存在的有效字符串。

/**
 * @param {string} s
 * @return {string}
 */
var freqAlphabets = function(s) {
	let obj = {
		'1':'a',
		'2':'b',
		'3':'c',
		'4':'d',
		'5':'e',
		'6':'f',
		'7':'g',
		'8':'h',
		'9':'i',
		'10#':'j',
		'11#':'k',
		'12#':'l',
		'13#':'m',
		'14#':'n',
		'15#':'o',
		'16#':'p',
		'17#':'q',
		'18#':'r',
		'19#':'s',
		'20#':'t',
		'21#':'u',
		'22#':'v',
		'23#':'w',
		'24#':'x',
		'25#':'y',
		'26#':'z',
	}
	let res = '';
	for(let i = 0; i < s.length;) {
		if (i + 2 < s.length && s[i + 2] === '#') {
			res += obj[s[i] + s[i + 1] + s[i + 2]];
			i += 3;
		} else {
			res += obj[s[i]];
			i++;
		}
		
	}
	return res;
};

console.log(freqAlphabets("1326#")); // acz


